Java Calendar(日历类)

您所在的位置:网站首页 calendar years翻译 Java Calendar(日历类)

Java Calendar(日历类)

2023-09-03 04:39| 来源: 网络整理| 查看: 265

Java Calendar类的介绍

文章目录 Java Calendar类的介绍简介SimpleDateFormat类:Calendar类:

简介

Calendar 类是一个抽象类。 它为“特定瞬间”与一组诸如 “YEAR”、“MONTH”、“DAY_OF_MONTH”、“HOUR ”等日历字段之间的转换提供了一些方法,并为操作日历字段(例如获得下星期的日期)提供了一些方法。瞬间可用毫秒值来表示,它是距历元(即格林威治标准时间 1970 年 1 月 1 日的 00:00:00.000,格里高利历)的偏移量。

SimpleDateFormat类:

在java.text包下

它是DateFormat类的直接子类,继承DateFormat类。我是这么理解SimpleDateFormat类的,它相对于Datef类更接地气,你可以随意给他指定一个形式的日期,进行更改。

SimpleDateFormat类主要功能是完成日期之间格式的转换,而且在转换过程中需要采用如下步骤: 1.指定一个模板,并根据这个模板,取出第一个所有的时间数字。

2.所有的时间数字将采用Date类保存。 3.将所有的时间数字重新进行格式转换。 模板如下表,注意区分大小写

字段描述YEAR年MONTH月DATE日HOUR_OF_DAY时MINUTE分SECOND秒DATE_OF_MONTH和DATE一样WEEK_OF_YEAR一个月第几周的第几天WEEK_OF_MONTH一月的第几周DAY_OF_YEAR一年的第多少天WEEK_OF_YEAR一年的第多少周 Date date = new Date(); SimpleDateFormat spf = new SimpleDateFormat("yyyy年-MM月-dd日:HH时-mm分-ss秒"); System.out.println(spf.format(date));

输出为:

2021年-7月-14日:17时-15分-53秒

其实这里可以用sdf.format(System.currentTimeMillis()),而不是用Date类,会更快一些。

这里有两个方法,一定要搞清楚,一个是spf.format(Date),一个是spf.parse(String),分别代表,将日期变为新的格式,从给定的字符串中提取出日期,提取出来的日期Date类型。

同时在调用parse这个方法时,会出现异常, try { } catch (ParseException e) { e.printStackTrace(); }

这应该不难理解,可能字符串提取不出日期,就会捕捉异常。

Calendar类:

在java.util包下

Calendar是日历类,在Date后出现,替换掉了许多Date的方法。该类将所有可能用到的时间信息封装为静态成员变量,方便获取。

Calendar为抽象类,由于语言敏感性,Calendar类在创建对象时并非直接创建,而是通过静态方法创建,将语言敏感内容处理好,再返回子类对象

package com.hp.date; import java.text.SimpleDateFormat; import java.util.Calendar; import java.util.Date; public class CalendarDemo{ public static void main(String[] args) throws Exception { //获取获取系统的当前日历对象 Calendar instance = Calendar.getInstance(); //1、获取今天是周几 int weekDay = instance.get(Calendar.DAY_OF_WEEK); System.out.println("今天是周:" + (weekDay - 1)); //2、获取系统当前年 int year = instance.get(Calendar.YEAR); System.out.println("今年是:" + year + "年"); //3、获取系统当前月 int month = instance.get(Calendar.MONTH); System.out.println("本月是:" + (month + 1) + "月"); //4、获取系统当前日 int day = instance.get(Calendar.DATE); System.out.println("今天是" + day + "号"); //5、获取上午跟下午 int am_pm = instance.get(Calendar.AM_PM); if (am_pm == 0) System.out.println("是上午"); else System.out.println("是下午"); //6、获取当前的系统时间[date-->String]的过程 Date time = instance.getTime();//获取的是当前系统的时间 SimpleDateFormat format = new SimpleDateFormat("yyyy-MM-dd HH:mm:ss SSS"); String showTime = format.format(time); System.out.println("当前系统时间为:" + showTime); //7、自定义日历的时间 String strTime = "2021-07-07"; Date date = new SimpleDateFormat("yyyy-MM-dd").parse(strTime); instance.setTime(date);//将时间对象data设置为新的日历 System.out.println("修改后的系统时间为:" + new SimpleDateFormat("yyyy-MM-dd HH:mm:ss SSS").format(instance.getTime())); } System.out.println("------------Calendar和Date转换------------"); Date now = calendar.getTime(); calendar.setTime(now); System.out.println("------------Calendar日期计算以及判断------------"); calendar = new GregorianCalendar(); Calendar calendar2 = new GregorianCalendar(); calendar2.set(Calendar.YEAR, 2800); //是否在某个时间(calendar2)之后 System.out.println(calendar.after(calendar2)); //是否在某个时间(calendar2)之前 System.out.println(calendar.before(calendar2)); //增加多少年年,月日以及时分秒同理 calendar.add(Calendar.YEAR, -10); } }


【本文地址】


今日新闻


推荐新闻


CopyRight 2018-2019 办公设备维修网 版权所有 豫ICP备15022753号-3